package DynamicProxy;

import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

/**
 * @Author wangzhipeng
 * @Date 2020-08-14 5:11 下午
 * @Description 动态代理 通过JDK方式
 */
public class SuperProxy implements InvocationHandler {

    //被代理的人
    private Object object;

    public SuperProxy(Object object) {
        this.object = object;
    }


    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        System.out.println("表演之前");
        Object o  =  method.invoke(object,args); // 执行方法
        System.out.println("表演之后");
        return o;
    }
}
